今天,我們會進一步探討 GitHub Actions 中 Runner 的角色以及它是如何執行任務的,並會著重在Self-Hosted Runner與GitHub-Hosted Runner之間的區別,這跟錢有關係。
Runner是GitHub Actions中用於執行CI/CD工作流程(workflows)的一個程式,存在於虛擬機或實體機、也可以編譯成一個 container 活在隔離環境內。當您推送代碼或觸發其他 GitHub 事件時,Runner 會接收這些指令並開始執行預定義的任務,例如代碼編譯、測試運行,或者部署應用程式。
這個執行 CI/CD 流程的程式你可以自己架,也可以用 GitHub 提供的,只要能符合需求都可以,但它們還是有些微妙的區別:
Runner接收到工作流程後,會依據 .github/workflows/main.yml
或其他工作流程文件中定義的步驟(steps)來執行任務。這些任務通常會包括以下階段: